約 6,457,661 件
https://w.atwiki.jp/bambooflow/pages/39.html
10. 衝突検出10.1. 接触点 10.2. Geoms 10.3. space 10.4. 一般geom関数 10.5. 衝突検出10.5.1. CategoryとCollideビットフィールド 10.5.2. 衝突検出関数 10.6. space関数 10. 衝突検出210.7. Geometry Classes10.7.1. Sphere Class 10.7.2. Box Class 10.7.3. Plane Class 10.7.4. Capped Cylinder Class 10.7.5. Ray Class 10.7.6. Triangle Mesh Class 10.7.7. Geometry Transform Class 10.8. User defined classes 10. 衝突検出 ODEは2つの主要なコンポーネントを持っている:動力学シミュレーショ ン・エンジンおよび衝突検出エンジン。衝突エンジンは、各剛体の形に関する情報が与えられる。毎回のステップで、剛体がどれに互い触れるかを計算し、ユーザに生じる接触ポイント情報を渡す。次にユーザは、剛体間の接触ジョイント(contact joints)を作成する。 ODEの衝突検出の使用はオプションである。正しい接触情報を与えることができるならば、代替衝突検出システムは使用することができる。 10.1. 接触点 2つの剛体(body)が触れる場合、あるいは剛体がその環境で静止状態のものに触れる場合、接触は1つ以上の"接触点"で表わされる。各接触点は対応するdContactGeom構造体を持っている struct dContactGeom { dVector3 pos; // contact position dVector3 normal; // normal vector dReal depth; // penetration depth (侵入度) dGeomID g1,g2; // the colliding geoms }; posはグローバル座標に、接触位置を記録する。 depthは2つの剛体が互いに相互浸透する深さである。深さがそのとき0であるとき、2つの剛体はかすっている接触を持つ、つまり触れている。しかしながらこれはまれである。シミュレーションは完全に正確でなく、深さが非ゼロであって、しばしば極端に剛体に踏み込む。 normalは単位長さベクトル、概して言えば接触表面に垂直のベクトルである。 g1とg2は衝突したジオメトリオブジェクトである。 仕様は、剛体1が、深さ(depth)においてnormalベクトルに沿って移動される場合(または、剛体2が逆方向に同じ深さで移動される場合、等しい)、接触深さは0になる。これは剛体1のnormalベクトル点であることを意味する。 現実には、2つの剛体間の接触は複雑なものである。接触点によって接触を表すことは近似だけである。接触「patch(継ぎ当て)」あるいは「表面」はより物理的に正確かもしれない。しかし、高速シミュレーション・ソフトウェアの中でこれらのものを表すことは難問である。 シミュレーションに加えられた余分な接触点はさらに速度を遅くする。したがって、我々は速度のためにいくらか接触点を強引に無視することをする。例えば、2つのBoxの衝突はその状況のジオメトリを適切に表現するために多くの接触点が必要かもしれないが、最良の3点だけでを維持することができる。したがって、我々は近似の上に近似を重ねている。 10.2. Geoms ジオメトリオブジェクト(あるいは略して"geoms")は衝突システムでの基本オブジェクトである。geomは1つの剛体の(球体もしくは箱のような)形を表すことができる、あるいは他のgeomsの1つのグループを表すことができる。―これは"space"と呼ばれる特殊なgeomの一種である。 どのgeomもゼロ以上の接触点を算出するために他のgeomに対して衝突させることができる。spaceは内部の接触点を算出するために、それらの含まれたgeomsをともに衝突させることができる拡張的な機能を持っている。 geomsは配置できたり(placeable)できなかったり(non-placeable)する。配置できるgeomはちょうど剛体のように位置ベクトルおよび3*3回転マトリックスを持っている。それはシミュレーション中に変更ができる。配置できないgeomの場合は、この機能を持っていない。例えば、これは移動できない環境のいくつかの静止状態のものに相当する。spaceは配置できないgeomsである。なぜならそれぞれ含まれるgeomがそれ自身の位置および方位を持つかもしれないが、space自体が位置および方位を持つことが意味をなさないためである。 剛体シミュレーションの中で衝突エンジンを使用するために、配置できるgeomsは剛体オブジェクトに関連付けさせる。これは、剛体から衝突エンジンがgeomsの位置および方位を得ることを可能にする。geomsは剛体とは 異なることに注意する。bodyの中のgeomはジオメトリ特性(サイズ、形、位置および方位)を持っているが、動力学特性(速度または質量のような)はない。bodyとgeomを合わせるとシミュレートされたオブジェクトの特性をすべて表す。 すべてのgeomは球体(sphere)、平面(plane)あるいは箱(box)のようなクラスの例である。以下には多くの内蔵クラスが記述されている。また、同様に自分自身のクラスを定義することができる。 配置できるgeomsの参照ポイントはその位置ベクトルによってコントロールされるポイントである。標準クラスのための参照ポイントは、通常geomの質量の中心と一致する。この特徴は、標準クラスが動剛体に容易に接続されることを可能にする。参照の他のポイントが要求される場合、変形したオブジェクト(transformation object)はカプセル化したgeomとして使用することができる。 すべてのgeomsに当てはまる概念および関数は、様々なジオメトリクラスやそれらを操作する関数を以下に記述する。 10.3. space spaceは他のgeomsを含むことができる配置できないgeomである。それは、動力学の代わりに衝突に当てはまる以外は、"world"の剛体の概念に似ている。 spaceオブジェクトは衝突検出をより速く生成するために存在する。spaceなしではすべてのgeomsシングルペアについての接触点を得るためにdCollideを呼ぶことにより、シミュレーション中の接触を生成しようとするだろう。N個のgeomsについてはO(Nの2乗)個のテストとなり、あなたの環境が多くのオブジェクトを持っている場合、それは計算コストがかかりすぎる。 よりよいアプローチは、space中にgeomを入れてdSpaceCollideを呼ぶことである。スペースはそのときに衝突の選択を行う。これはどのgeomsペアが潜在的に交差しているかをすばやく識別することを意味する。これらのペアはコールバック関数に渡されて、次にdCollideを呼ぶことができる。これは不要なdCollideのテストで起こっている多くを保存する。なぜならば、コールバック関数に渡したペアの数は、あらゆる物体と物体のペアの極少数だからである。 spaceは他のspaceを含むことができる。さらに衝突検出速度を最適化するために衝突環境をいくつかの階層に分割するのに役立つ。これについては下により詳細に記述されている。 10.4. 一般geom関数 geomに適用することができる関数を以下に示す。 void dGeomDestroy (dGeomID); spaceから取り除いてgeomを破棄する。この関数はいくつかのタイプのgeomを破棄するが、geomの生成はそのタイプのための生成関数を呼ばなければならない。 spaceは破棄されたとき、cleanup modeが1(デフォルト)のとき、このspaceにあるすべてのgeomも同様に自動的に破棄する。 void dGeomSetData (dGeomID, void *); void *dGeomGetData (dGeomID); これらの関数は、geomに記憶したユーザ定義されたデータポインタを設定・取得する。 void dGeomSetBody (dGeomID, dBodyID); dBodyID dGeomGetBody (dGeomID); これらの関数は、配置できるgeomに関連したbodyの設定・取得をする。geomにbodyを設定すると、自動的にbodyとgeomの位置ベクトルおよび回転マトリックスを組み合わされる。そのため、1つの位置か四元数の設定は、両方のオブジェクトのために設定することになる。 ゼロのbody IDを設定することは、geomに自身に(どんなbodyからも独立している)位置と回転を与える。すでにgeomがbodyに接続しているならば、その新しい独立した位置/回転はbodyの現在の位置/回転に設定される。 配置できないgeomでこれらの関数を呼ぶとODEのデバッグにおいて実行時エラーとなる。 void dGeomSetPosition (dGeomID, dReal x, dReal y, dReal z); void dGeomSetRotation (dGeomID, const dMatrix3 R); void dGeomSetQuaternion (dGeomID, const dQuaternion); 配置できるgeomの位置ベクトル、回転マトリックスまたは方位の設定をする。これらの関数はdBodySetPosition、dBodySetRotation、dBodySetQuaternionと類似している。geomはbodyに取り付けられると、bodyの位置/回転/四元数もまた変更される。 配置できないgeomでこれらの関数を呼ぶとODEのデバッグにおいて実行時エラーとなる。 const dReal * dGeomGetPosition (dGeomID); const dReal * dGeomGetRotation (dGeomID); void dGeomGetQuaternion (dGeomID, dQuaternion result); 最初の2つは、geomの位置ベクトルと回転マトリックスのポインタを返す。返された値は内部のデータ構造へのポインタであるので、geomに変化がなされるまで、ベクトルは有効である。geomがbodyに取り付けられると、bodyの位置/回転ポインタは返される。すなわち、結果はdBodyGetPositionまたはdBodyGetRotationを呼ぶことと同一である。 dGeomGetQuaternionは、提供されるspaceに、geomの四元数をコピーする。geomがbodyに取り付けられると、bodyの四元数は返される。すなわち、もたらされる四元数の結果はdBodyGetQuaternionを呼ぶ結果と同じである。 配置できないgeomでこれらの関数を呼ぶとODEのデバッグにおいて実行時エラーとなる。 void dGeomGetAABB (dGeomID, dReal aabb[6]); Return in aabb an axis aligned bounding box that surrounds the given geom. The aabb array has elements (minx,maxx,miny,maxy,minz,maxz). If the geom is a space, a bounding box that surrounds all contained geoms is returned. aabbに、与えられたgeomを囲むbounding boxを並べた軸をaabbとして返す。aabb配列には、要素(minx,maxx,miny,maxy,minz,maxz)がある。geomがspaceであるならば、すべての含まれたgeomsを囲むbounding boxは返さる。 それがgeomがbounding boxは計算された最後の時から動かなかったと確定することができるならば、この関数は予め計算されキャッシュされたbounding boxを返すかもしれない。 int dGeomIsSpace (dGeomID); 与えられたgeomがspaceのとき1を返す。そうでなければ0を返す。 dSpaceID dGeomGetSpace (dGeomID); 与えられたジオメトリを含むspaceを返す。spaceに含まれていないとき0を返す。 int dGeomGetClass (dGeomID); 与えられたgeomによりクラス番号を返す。 標準クラス番号は次のとおり、 dSphereClass Sphere dBoxClass Box dCCylinderClass Capped cylinder dCylinderClass Regular flat-ended cylinder dPlaneClass Infinite plane (non-placeable) dGeomTransformClass Geometry transform dRayClass Ray dTriMeshClass Triangle mesh dSimpleSpaceClass Simple space dHashSpaceClass Hash table based space ユーザ定義されたクラスはそれら自身の番号を返す。 void dGeomSetCategoryBits (dGeomID, unsigned long bits); void dGeomSetCollideBits (dGeomID, unsigned long bits); unsigned long dGeomGetCategoryBits (dGeomID); unsigned long dGeomGetCollideBits (dGeomID); 与えられたgeomのために”category”と”collide”のビットフィールドを設定・取得する。これらのビットフィールドは支配するspaceにより使われ、それぞれのgeomが相互作用する。ビットフィールドは少なくとも32ビット長であることが保証される。新区生成されたgeomのcategoryとcollideのデフォルト値はすべてのビットを設定する。 void dGeomEnable (dGeomID); void dGeomDisable (dGeomID); int dGeomIsEnabled (dGeomID); geomを有効/無効を設定する。無効geomはdSpaceCollideとdSpaceCollide2に完全に無視される。けれどもspaceのメンバのままである。 dGeomIsEnabled関数はgeomが有効のとき1を返し、無効のとき0を返す。新しいgeomは有効状態のとき生成される。 10.5. 衝突検出 "world"の衝突検出はspaceを作ったときとspaceにgeomを追加したときに生成される。毎時間ステップで互いに交わった全てのgeomについて接触リストを生成することが必要となる。次の3つの関数はこのために使われる: dCollideは2つのgeomが交差したら接触ポイントを生成する。 dSpaceCollideはスペース内の潜在的に交わったgeomペアのいずれかを決定して、候補ペアと一緒にコールバック関数を呼ぶ。これは接触ポイントを直接生成しない。それはユーザがいくつかのペアを特別に扱うかもしれないからである。例えば衝突を無視したり、異なった接触生成方法を使うなどである。そのような各ペアに対し要求するべきかどうかといった決定はコールバック関数の中で下される。 dSpaceCollide2は、1つのspaceのいずれかのgeomsが別のspaceのいずれかのgeomsと潜在的に交わるかを決定して、各候補ペアを備えたコールバック関数を呼ぶ。またそれはspaceに対する非spaceであるgeomもテストすることができる。衝突階層がある場合、つまり、他のspaceを含むspaceがある場合にこの関数は有用である。 The collision system has been designed to give the user maximum flexibility to decide which objects will be tested against each other. This is why are there are three collision functions instead of, for example, one function that just generates all the contact points. Spaces may contain other spaces. These sub-spaces will typically represent a collection of geoms (or other spaces) that are located near each other. This is useful for gaining extra collision performance by dividing the collision world into hierarchies. Here is an example of where this is useful Suppose you have two cars driving over some terrain. Each car is made up of many geoms. If all these geoms were inserted into the same space, the collision computation time between the two cars would always be proportional to the total number of geoms (or even to the square of this number, depending on which space type is used). To speed up collision a separate space is created to represent each car. The car geoms are inserted into the car-spaces, and the car-spaces are inserted into the top level space. At each time step dSpaceCollide is called for the top level space. This will do a single intersection test between the car-spaces (actually between their bounding boxes) and call the callback if they touch. The callback can then test the geoms in the car-spaces against each other using dSpaceCollide2. If the cars are not near each other then the callback is not called and no time is wasted performing unnecessary tests. If space hierarchies are being used then the callback function may be called recursively, e.g. if dSpaceCollide calls the callback which in turn calls dSpaceCollide with the same callback function. In this case the user must make sure that the callback function is properly reentrant. Here is a sample callback function that traverses through all spaces and sub-spaces, generating all possible contact points for all intersecting geoms void nearCallback (void *data, dGeomID o1, dGeomID o2) { if (dGeomIsSpace (o1) || dGeomIsSpace (o2)) { // colliding a space with something dSpaceCollide2 (o1,o2,data, nearCallback); // collide all geoms internal to the space(s) if (dGeomIsSpace (o1)) dSpaceCollide (o1,data, nearCallback); if (dGeomIsSpace (o2)) dSpaceCollide (o2,data, nearCallback); } else { // colliding two non-space geoms, so generate contact // points between o1 and o2 int num_contact = dCollide (o1,o2,max_contacts,contact_array,skip); // add these contact points to the simulation ... } } ... // collide all objects together dSpaceCollide (top_level_space,0, nearCallback); A space callback function is not allowed to modify a space while that space is being processed with dSpaceCollide or dSpaceCollide2. For example, you can not add or remove geoms from a space, and you can not reposition the geoms within a space. Doing so will trigger a runtime error in the debug build of ODE. スペース・コールバック関数は、そのスペースが dSpaceCollideまたはdSpaceCollide2で処理されている一方、スペースを修正することを許されていない。例えば、スペースからの geomsを追加もしくは削除することができない。そして、スペース内のgeomsの位置を変えることができない。そうすることで、ODEのdebug構 造におけるランタイム・エラーが引き起こされる。 10.5.1. CategoryとCollideビットフィールド Each geom has a ``category and ``collide bitfield that can be used to assist the space algorithms in determining which geoms should interact and which should not. Use of this feature is optional - by default geoms are considered to be capable of colliding with any other geom. Each bit position in the bitfield represents a different category of object. The actual meaning of these categories (if any) is user defined. The category bitfield indicates which categories a geom is a member of. The collide bitfield indicates which categories the geom will collide with during collision detection. A pair of geoms will be considered by dSpaceCollide and dSpaceCollide2 for passing to the callback only if one of them has a collide bit set that corresponds to a category bit in the other. The exact test is as follows // test if geom o1 and geom o2 can collide cat1 = dGeomGetCategoryBits (o1); cat2 = dGeomGetCategoryBits (o2); col1 = dGeomGetCollideBits (o1); col2 = dGeomGetCollideBits (o2); if ((cat1 col2) || (cat2 col1)) { // call the callback with o1 and o2 } else { // do nothing, o1 and o2 do not collide } Note that only dSpaceCollide and dSpaceCollide2 use these bitfields, they are ignored by dCollide. Typically a geom will belong only to a single category, so only one bit will be set in the category bitfield. The bitfields are guaranteed to be at least 32 bits wide, so the user is able to specify an arbitrary pattern of interactions for up to 32 objects. If there are more than 32 objects then some of them will obviously have to have the same category. Sometimes the category field will contain multiple bits set, e.g. if the geom is a space them you may want to set the category to the union of all the geom categories that are contained. Design note Why don t we just have a single category bitfield and use the test (cat1 cat2) ? This is simpler, but a single field requires more bits to represent some patterns of interaction. For example, if 32 geoms have an interaction pattern that is a 5 dimensional hypercube, 80 bit are required in the simpler scheme. The simpler scheme also makes it harder to determine what the categories should be for some situations. 10.5.2. 衝突検出関数 int dCollide (dGeomID o1, dGeomID o2, int flags, dContactGeom *contact, int skip); Given two geoms o1 and o2 that potentially intersect, generate contact information for them. Internally, this just calls the correct class-specific collision functions for o1 and o2. 潜在的に交差する2の与えられたgeoms o1およびo2は、それらのための連絡情報を生成する。内部では、o1とo2のための正確なクラス特有の衝突関数を呼ぶ。 flags specifies how contacts should be generated if the geoms touch. The lower 16 bits of flags is an integer that specifies the maximum number of contact points to generate. Note that if this number is zero, this function just pretends that it is one - in other words you can not ask for zero contacts. All other bits in flags must be zero. In the future the other bits may be used to select from different contact generation strategies. geomsが触れる場合どのように接触を生成しなければならないか指定する。低16ビットフラグは生成する接触ポイントの最大数を指定する整数である。こ の数が0である場合、これが1として振る舞われることに注意する。言いかえれば、0 個の接触を求めることはできない。flagsの他のすべてのビットは0である。今後、他のビットは異なる接触生成方法から選択するために使用されてもかま わない。 contact points to an array of dContactGeom structures. The array must be able to hold at least the maximum number of contacts. These dContactGeom structures may be embedded within larger structures in the array - the skip parameter is the byte offset from one dContactGeom to the next in the array. If skip is sizeof(dContactGeom) then contact points to a normal (C-style) array. It is an error for skip to be smaller than sizeof(dContactGeom). dContactGeom構造体の1つの配列へのポインタ。配列は、少なくとも接触の最大数を保持することができる。このdContactGeom構造体は配列中のより大きな構造体内に埋め込まれるかもしれない。skipパラ メータはdContactGeomを次の配列へオフセットするバイト数である。skipがsizeof(dContactGeom)である場合、 contactは通常(C-スタイル)の配列を指す。skipがsizeof(dContactGeom)より小さいときはエラーである。 If the geoms intersect, this function returns the number of contact points generated (and updates the contact array), otherwise it returns 0 (and the contact array is not touched). geomsが交差する時に、この関数は生成された接触ポイントの数を返 す(contactの配列を更新する)、そうでないときは、0を返す(contactの配列は更新されない)。 If a space is passed as o1 or o2 then this function will collide all objects contained in o1 with all objects contained in o2, and return the resulting contact points. This method for colliding spaces with geoms (or spaces with spaces) provides no user control over the individual collisions. To get that control, use dSpaceCollide or dSpaceCollide2 instead. スペースがo1またはo2として通過される場合、この関数は、o2のす べてのオブジェクトをo1のすべてのオブジェクトに衝突させて、生じる接触ポイントを返すだろう。geomとスペース(またはスペースとスペース)を衝突 させるこの方法は、個々の衝突に対するユーザコントロールは備えていない。そのコントロールを得るためには、dSpaceCollideまたは dSpaceCollide2を代わりに使用してください。 If o1 and o2 are the same geom then this function will do nothing and return 0. Technically speaking an object intersects with itself, but it is not useful to find contact points in this case. o1とo2が同じgeomである場合、この関数は何もせずに0を返す。 技術的に話すと、1つのオブジェクト自身の交差であるが、この場合に接触ポイントを見つけることは有用ではない。 This function does not care if o1 and o2 are in the same space or not (or indeed if they are in any space at all). この関数はo1とo2が同じスペースであるかどうか(または、すべてで の任意のスペースである場合)は配慮しない。 void dSpaceCollide (dSpaceID space, void *data, dNearCallback *callback); This determines which pairs of geoms in a space may potentially intersect, and calls the callback function with each candidate pair. The callback function is of type dNearCallback, which is defined as これは、スペース中のgeomsペアのどれが交わるか決定し、各候補ペ アを備えたコールバック関数を呼ぶ。 callback関数はタイプdNearCallbackであり、それは次のように定義されている typedef void dNearCallback (void *data, dGeomID o1, dGeomID o2); The data argument is passed from dSpaceCollide directly to the callback function. Its meaning is user defined. The o1 and o2 arguments are the geoms that may be near each other. data引数は、dSpaceCollideからコールバック関数に直 接渡される。その意味はユーザ定義されている。o1とo2の引数は互い近距離にあるgeomsである。 The callback function can call dCollide on o1 and o2 to generate contact points between each pair. Then these contact points may be added to the simulation as contact joints. The user s callback function can of course chose not to call dCollide for any pair, e.g. if the user decides that those pairs should not interact. Other spaces that are contained within the colliding space are not treated specially, i.e. they are not recursed into. The callback function may be passed these contained spaces as one or both geom arguments. dSpaceCollide() is guaranteed to pass all intersecting geom pairs to the callback function, but it may also make mistakes and pass non-intersecting pairs. The number of mistaken calls depends on the internal algorithms used by the space. Thus you should not expect that dCollide will return contacts for every pair passed to the callback. void dSpaceCollide2 (dGeomID o1, dGeomID o2, void *data, dNearCallback *callback); This function is similar to dSpaceCollide, except that it is passed two geoms (or spaces) as arguments. It calls the callback for all potentially intersecting pairs that contain one geom from o1 and one geom from o2. The exact behavior depends on the types of o1 and o2 If one argument is a non-space geom and the other is a space, the callback is called with all potential intersections between the geom and the objects in the space. If both o1 and o2 are spaces then this calls the callback for all potentially intersecting pairs that contain one geom from o1 and one geom from o2. The algorithm that is used depends on what kinds of spaces are being collided. If no optimized algorithm can be selected then this function will resort to one of the following two strategies All the geoms in o1 are tested one-by-one against o2. All the geoms in o2 are tested one-by-one against o1. The strategy used may depends on a number of rules, but in general the space with less objects has its geoms examined one-by-one. If both arguments are the same space, this is equivalent to calling dSpaceCollide on that space. If both arguments are non-space geoms, this simply calls the callback once with these arguments. If this function is given a space and an geom X in that same space, this case is not treated specially. In this case the callback will always be called with the pair (X,X), because an objects always intersects with itself. The user may either test for this case and ignore it, or just pass the pair (X,X) to dCollide (which will be guaranteed to return 0). 10.6. space関数 There are several kinds of spaces. Each kind uses different internal data structures to store the geoms, and different algorithms to perform the collision culling スペースはいくつか種類がある。それぞれの種類はgeomsを格納する ために違う内部のデータ構造体を使用し、そして衝突の選択を行うのは異なるアルゴリズムを使用する: Simple space. This does not do any collision culling - it simply checks every possible pair of geoms for intersection, and reports the pairs whose AABBs overlap. The time required to do intersection testing for n objects is O(n2). This should not be used for large numbers of objects, but it can be the preferred algorithm for a small number of objects. This is also useful for debugging potential problems with the collision system. 単純なスペース。これは、衝突選択を行わない。それは、単に交 差におけるすべての可能性のあるgeomsペアをチェックし、AABBが重なり合うそのペアを報告する。n個のオブジェクトにおいて、交差試験を行うのに 必要な時間はO(nの2乗)である。これは多くのオブジェクトのために使用されてはならない。しかし、少数のオブジェクト用の好ましいアルゴリズムであ る。さらに、これは、衝突システムに関する潜在的な問題をデバッグするのに役立つ。 Multi-resolution hash table space. This uses an internal data structure that records how each geom overlaps cells in one of several three dimensional grids. Each grid has cubical cells of side lengths 2i, where i is an integer that ranges from a minimum to a maximum value. The time required to do intersection testing for n objects is O(n) (as long as those objects are not clustered together too closely), as each object can be quickly paired with the objects around it. 多分割ハッシュテーブルのスペース。これは、各geomがいく つかの3次元のグリッドのうち1つの中のセルをどのように重ねるかを記録するための、内部のデータ構造体を使用する。iが最小から最大の値まで及ぶ整数で ある場合、各グリッドは側面の長さ2のi乗の立方体のセルを持つ。各オブジェクトがそのまわりのオブジェクトと速くペアになることができるので、nオブ ジェクトのために交差試験を行うのに必要な時間は(それらのオブジェクトがともにあまり緊密にクラスターにされない限り)O(n)である。 Quadtree space. This uses a pre-allocated hierarchical grid-based AABB tree to quickly cull collision checks. It s exceptionally quick for large amounts of objects in landscape-shaped worlds. The amount of memory used is 4^depth * 32 bytes. Currently dSpaceGetGeom is not implemented for the quadtree space. Quadtreeスペース。これは、速く衝突チェックを選択さ せるために、あらかじめ割り付けられた階層的なグリッドベースのAABBツリーを使用する。それは、景観がある世界の大量のオブジェクトに対し非常に高速 になる。使用されるメモリ量は、4^depth * 32バイトです。現在、dSpaceGetGeomはquadtreeスペースのために導入されない。 Here are the functions used for spaces ここに、スペースのために使用された関数がある: dSpaceID dSimpleSpaceCreate (dSpaceID space); dSpaceID dHashSpaceCreate (dSpaceID space); Create a space, either of the simple or multi-resolution hash table kind. If space is nonzero, insert the new space into that space. スペースを作成する。各々シンプルか、多分割のハッシュテーブルのどち らか。spaceがゼロでない場合、スペースの中に新しいスペースを挿入する。 dSpaceID dQuadTreeSpaceCreate (dSpaceID space, dVector3 Center, dVector3 Extents, int Depth); Creates a quadtree space. center and extents define the size of the root block. depth sets the depth of the tree - the number of blocks that are created is 4^depth. void dSpaceDestroy (dSpaceID); This destroys a space. It functions exactly like dGeomDestroy except that it takes a dSpaceID argument. When a space is destroyed, if its cleanup mode is 1 (the default) then all the geoms in that space are automatically destroyed as well. void dHashSpaceSetLevels (dSpaceID space, int minlevel, int maxlevel); void dHashSpaceGetLevels (dSpaceID space, int *minlevel, int *maxlevel); Sets and get some parameters for a multi-resolution hash table space. The smallest and largest cell sizes used in the hash table will be 2^minlevel and 2^maxlevel respectively. minlevel must be less than or equal to maxlevel. In dHashSpaceGetLevels the minimum and maximum levels are returned through pointers. If a pointer is zero then it is ignored and no argument is returned. void dSpaceSetCleanup (dSpaceID space, int mode); int dSpaceGetCleanup (dSpaceID space); Set and get the clean-up mode of the space. If the clean-up mode is 1, then the contained geoms will be destroyed when the space is destroyed. If the clean-up mode is 0 this does not happen. The default clean-up mode for new spaces is 1. スペースのクリーンアップモードをセット、ゲットをする。クリーンアッ プモードが1である場合、スペースが破棄される時、そこに含まれるgeomsが破壊される。クリーンアップモードが0である場合、これは起こらない。新し いスペース用のデフォルトクリーンアップモードは1である。 void dSpaceAdd (dSpaceID, dGeomID); Add a geom to a space. This does nothing if the geom is already in the space. This function can be called automatically if a space argument is given to a geom creation function. スペースへgeomを加える。geomが既にスペースである場合、これ は何もしない。space引数がgeom生成関数に与えられる場合、この関数は自動的に呼ぶことができる。 void dSpaceRemove (dSpaceID, dGeomID); Remove a geom from a space. This does nothing if the geom is not actually in the space. This function is called automatically by dGeomDestroy if the geom is in a space. int dSpaceQuery (dSpaceID, dGeomID); Return 1 if the given geom is in the given space, or return 0 if it is not. int dSpaceGetNumGeoms (dSpaceID); Return the number of geoms contained within a space. dGeomID dSpaceGetGeom (dSpaceID, int i); Return the i th geom contained within the space. i must range from 0 to dSpaceGetNumGeoms()-1. If any change is made to the space (including adding and deleting geoms) then no guarantee can be made about how the index number of any particular geom will change. Thus no space changes should be made while enumerating the geoms. This function is guaranteed to be fastest when the geoms are accessed in the order 0,1,2,etc. Other non-sequential orders may result in slower access, depending on the internal implementation.
https://w.atwiki.jp/dream100/pages/29.html
#freeze #nofollow #norelated 前ページPukiWiki/1.4/Manual/Plugin V [#be6c635c] version [#v924021a] versionlist [#n3c07f6b] vote [#aa4fb1f8] Y [#kb2afc33] yetlist [#v5902d84] V version 種別 ブロック型プラグイン インライン型プラグイン 重要度 ★☆☆☆☆ 書式 #version version; 概要 インストールされているPukiWikiのバージョンを表示します。 versionlist 種別 コマンド ブロック型プラグイン 重要度 ★☆☆☆☆ 書式 ?plugin=versionlist #versionlist 概要 pukiwiki.phpのあるディレクトリとpluginのディレクトリ内のphpファイルのバージョンを表示します。 vote 種別 コマンド ブロック型プラグイン 重要度 ★★☆☆☆ 書式 #vote( 選択肢1 [ 選択肢1の投票数 ] [, 選択肢2 [ 選択肢2の投票数 ] [, 選択肢3 [ 選択肢3の投票数 ]… [, 選択肢n [ 選択肢nの投票数 ]]] ) 概要 選択肢と投票数と投票ボタンが並んだ簡易投票フォームを表示します。 引数 選択肢1〜nに投票項目を指定します。投票項目に続けて半角大括弧"[]"で括った数値を指定すると選択肢の投票数を指定できます。 備考 各選択肢の投票数は編集によって容易に改竄できるため、厳密な投票には向きません。 Y yetlist 種別 コマンド 重要度 ★★☆☆☆ 書式 ?plugin=yetlist 概要 まだ作られていないページを一覧表示します。 まだ作られていないページとは、既存のページでWikiNameあるいはBracketNameで指定されていて、まだ作られていないページです。 備考 自分以外の誰かがページを書くかもしれないという点は非常にWiki的ですが、実際の運用面ではcommentに記述された一見さんの名前やWikiName同様のパラメータ名など、ページ化しにくいキーワードが大量に引っかかってしまいます。 前ページPukiWiki/1.4/Manual/Plugin
https://w.atwiki.jp/fifa12_translation/pages/15.html
Precision Dribbling Precision Dribbling brings an unprecedented level of control to your dribbling by giving the ability to move the ball with ultra-responsive touches. Use Precision Dribbling to keep possession of the ball when close to the sidelines or goal line and beat defender when in traffic or tight spaces. 「細かいタッチのドリブル(Precision Dribbling)」は、超繊細なボールタッチでボールを動かせる機能によって、あなたのドリブリング操作を前例のないレベルに飛躍させます。 サイドラインやゴールラインに近い場所や狭いスペースでディフェンダーと対抗するときに、「細かいタッチのドリブル」を使ってボールをキープしてください。 Precision Dribbling is automatically activated when the situation requires a soft touch. To manually activate. Precision Dribbling, Hold [L1] while dribbling, Be aware of your situation,and utilise Precision Dribbling to bring your game to the next level. 「細かいタッチのドリブル」は必要に応じて自動で発動して、そして手動操作に移行します。 「細かいタッチのドリブル」~ドリブル中に「L1ボタン」を押し続けてください。 状況を的確に把握して「細かいタッチのドリブル」を利用することで、あなたはさらなる次元へ飛躍できます。 To view all the Gameplay Controls in FIFA12 go to the in-game control screen at Customise FIFA/Setting/Controls/Button Help すべてのゲームプレイコントロールを表示するには、カスタマイズで、ゲーム内のコントロール画面にアクセスしてください。 FIFA/設定/コントロール/ボタンヘルプ
https://w.atwiki.jp/elvis/pages/6978.html
Dynamic Vision for Perception and Control of Motion Springer-Verlag? Ernst D. Dickmanns? Springer-Verlag? ErnstD.Dickmanns? ジャンル別? ユーズドブック(洋書)-Computers&Internet? ユーズドブック(洋書)-Engineering Subjects-Computers&Internet-ComputerScience-ArtificialIntelligence-General? Subjects-Computers&Internet-ComputerScience-ArtificialIntelligence-MachineVision? Subjects-Computers&Internet-ComputerScience-ArtificialIntelligence-HumanVision&LanguageSystems? Subjects-Computers&Internet-ComputerScience-ArtificialIntelligence-ComputerMathematics? Subjects-Computers&Internet-GraphicDesign-General? Subjects-Engineering-Electrical&Electronics-DigitalDesign? Subjects-Engineering-Electrical&Electronics-General? Subjects-Engineering-General? Subjects-Professional&Technical-Engineering-Electrical&Electronics-DigitalDesign? Subjects-Professional&Technical-Engineering-Electrical&Electronics-General? Subjects-Professional&Technical-Engineering-General Subjects-Science-General Rhythm and Transforms Springer-Verlag? William A. Sethares? Springer-Verlag? WilliamA.Sethares? ジャンル別? ユーズドブック(洋書)-Engineering ユーズドブック(洋書)-Medicine? Subjects-Engineering-Electrical&Electronics-General? Subjects-Engineering-General? Subjects-Medicine-InternalMedicine-Neurology-Neuroscience? Subjects-Professional&Technical-Engineering-Electrical&Electronics-General? Subjects-Professional&Technical-Engineering-General Subjects-Professional&Technical-Medical-Medicine-InternalMedicine-Neurology-Neuroscience? Subjects-Professional&Technical-ProfessionalScience-Mathematics-Applied-General? Subjects-Science-General Subjects-Science-Mathematics-Applied-General? Subjects-Science-Medicine-InternalMedicine-Neurology-Neuroscience? IP Network-based Multi-agent Systems for Industrial Automation Information Management, Condition Monitoring and Control of Power Systems (Power Systems) Springer-Verlag? D. P. Buse? Q. H. Wu? Springer-Verlag? D.P.Buse? Q.H.Wu? ジャンル別? ユーズドブック(洋書)-Computers&Internet? ユーズドブック(洋書)-Engineering Subjects-Computers&Internet-WebDevelopment-Scripting&Programming-Agents? Subjects-Computers&Internet-Software-Business-ControlSystems? Subjects-Computers&Internet-Software-Design&Development-SoftwareProjectManagement? Subjects-Computers&Internet-CertificationCentral-Subjects-Networking? Subjects-Computers&Internet-CertificationCentral-General? Subjects-Computers&Internet-ComputerScience-SoftwareEngineering-InformationSystems? Subjects-Computers&Internet-ComputerScience-ArtificialIntelligence-Robotics? Subjects-Engineering-ComputerTechnology-Robotics&Automation? Subjects-Engineering-Electrical&Electronics-DigitalDesign? Subjects-Engineering-Electrical&Electronics-General? Subjects-Engineering-General? Subjects-Engineering-Industrial,Manufacturing&OperationalSystems-General? Subjects-Engineering-Mechanical-Robotics? Subjects-Professional&Technical-Engineering-ComputerTechnology-Robotics&Automation? Subjects-Professional&Technical-Engineering-Electrical&Electronics-DigitalDesign? Subjects-Professional&Technical-Engineering-Electrical&Electronics-General? Subjects-Professional&Technical-Engineering-Industrial,Manufacturing&OperationalSystems-General? Subjects-Professional&Technical-Engineering-Mechanical-Robotics? Subjects-Professional&Technical-Engineering-General Subjects-Science-General Modelling and Analysis of Hybrid Supervisory Systems A Petri Net Approach (Advances in Industrial Control) Springer-Verlag? Emilia Villani? Paulo E. Miyagi? Robert Valette? Springer-Verlag? EmiliaVillani? PauloE.Miyagi? RobertValette? ジャンル別? ユーズドブック(洋書)-Computers&Internet? ユーズドブック(洋書)-Engineering Subjects-Computers&Internet-Networking-Networks,Protocols&APIs-General? Subjects-Computers&Internet-Software-Business-ControlSystems? Subjects-Computers&Internet-ComputerScience-ArtificialIntelligence-Robotics? Subjects-Engineering-ComputerTechnology-Robotics&Automation? Subjects-Engineering-Electrical&Electronics-DigitalDesign? Subjects-Engineering-Electrical&Electronics-General? Subjects-Engineering-General? Subjects-Engineering-Mechanical-Robotics? Subjects-Professional&Technical-Engineering-ComputerTechnology-Robotics&Automation? Subjects-Professional&Technical-Engineering-Electrical&Electronics-DigitalDesign? Subjects-Professional&Technical-Engineering-Electrical&Electronics-General? Subjects-Professional&Technical-Engineering-Mechanical-Robotics? Subjects-Professional&Technical-Engineering-General Subjects-Science-General Risk Management With Applications from the Offshore Petroleum Industry (Springer Series in Reliability Engineering) Springer-Verlag? Terje Aven? Jan-erik Vinnem? Springer-Verlag? TerjeAven? Jan-erikVinnem? ジャンル別? ユーズドブック(洋書)-Engineering Subjects-Business&Investing-Industries&Professions-Oil&Energy? Subjects-Business&Investing-Management&Leadership-OperationsResearch? Subjects-Business&Investing-Management&Leadership-RiskAssessment? Subjects-Engineering-General? Subjects-Engineering-Industrial,Manufacturing&OperationalSystems-General? Subjects-Professional&Technical-Engineering-Industrial,Manufacturing&OperationalSystems-General? Subjects-Professional&Technical-Engineering-General Subjects-Professional&Technical-BusinessManagement-Management&Leadership-OperationsResearch? Subjects-Professional&Technical-BusinessManagement-Management&Leadership-RiskAssessment? Subjects-Science-General Stress Relaxation in Viscoelastic Materials Science Pub Inc? T. M. Junisbekov? Vladimir N. Kestelman? N. I. Malinin? T. M. Djunisbekov? SciencePubInc? T.M.Junisbekov? VladimirN.Kestelman? N.I.Malinin? T.M.Djunisbekov? ジャンル別? Subjects-Engineering-Chemical-PolymerChemistry? Subjects-Engineering-General? Subjects-Engineering-MaterialsScience-General? Subjects-Professional&Technical-Engineering-Chemical-PolymerChemistry? Subjects-Professional&Technical-Engineering-MaterialsScience-General? Subjects-Professional&Technical-Engineering-General Subjects-Professional&Technical-ProfessionalScience-Physics-Nanostructures? Subjects-Science-Education-Research? Subjects-Science-Experiments,Instruments&Measurement-Methodology&Statistics? Subjects-Science-General Subjects-Science-Physics-Nanostructures? Offshore Risk Assessment Principles, Modeling and Applications of QRA Studies (Springer Series in Reliability Engineering) Springer-Verlag? Jan-erik Vinnem? Springer-Verlag? Jan-erikVinnem? ジャンル別? Subjects-Business&Investing-Management&Leadership-RiskAssessment? Subjects-Engineering-General? Subjects-Engineering-Industrial,Manufacturing&OperationalSystems-General? Subjects-Outdoors&Nature-Environment-EnvironmentalScience Subjects-Professional&Technical-Engineering-Industrial,Manufacturing&OperationalSystems-General? Subjects-Professional&Technical-Engineering-General Subjects-Professional&Technical-ProfessionalScience-Mathematics-Applied-General? Subjects-Professional&Technical-ProfessionalScience-EarthSciences-EnvironmentalScience? Subjects-Professional&Technical-BusinessManagement-Management&Leadership-RiskAssessment? Subjects-Science-EarthSciences-EnvironmentalScience Subjects-Science-General Subjects-Science-Mathematics-Applied-General? Subjects-Science-Technology-Safety&Health? Process Planning and Scheduling for Distributed Manufacturing (Springer Series in Advanced Manufacturing) Springer-Verlag? Lihui Wang? Weiming Shen? Springer-Verlag? LihuiWang? WeimingShen? ジャンル別? Subjects-Business&Investing-Management&Leadership-QualityControl? Subjects-Computers&Internet-ComputerScience-ArtificialIntelligence-General? Subjects-Computers&Internet-ComputerScience-ArtificialIntelligence-ComputerMathematics? Subjects-Engineering-Electrical&Electronics-General? Subjects-Engineering-General? Subjects-Engineering-Industrial,Manufacturing&OperationalSystems-General? Subjects-Engineering-Industrial,Manufacturing&OperationalSystems-Manufacturing? Subjects-Professional&Technical-Engineering-Electrical&Electronics-General? Subjects-Professional&Technical-Engineering-Industrial,Manufacturing&OperationalSystems-General? Subjects-Professional&Technical-Engineering-Industrial,Manufacturing&OperationalSystems-Manufacturing? Subjects-Professional&Technical-Engineering-General Subjects-Professional&Technical-BusinessManagement-Management&Leadership-QualityControl? Subjects-Science-General Power Quality Mitigation Technologies in a Distributed Environment (Power Systems) Springer-Verlag? Antonio Moreno-Munoz? Springer-Verlag? AntonioMoreno-Munoz? ジャンル別? ユーズドブック(洋書)-Engineering Subjects-Engineering-ComputerTechnology-Robotics&Automation? Subjects-Engineering-Electrical&Electronics-Electronics-Microelectronics? Subjects-Engineering-General? Subjects-Engineering-Industrial,Manufacturing&OperationalSystems-General? Subjects-Engineering-Mechanical-Robotics? Subjects-Professional&Technical-Engineering-ComputerTechnology-Robotics&Automation? Subjects-Professional&Technical-Engineering-Electrical&Electronics-Electronics-Microelectronics? Subjects-Professional&Technical-Engineering-Industrial,Manufacturing&OperationalSystems-General? Subjects-Professional&Technical-Engineering-Mechanical-Robotics? Subjects-Professional&Technical-Engineering-General Subjects-Science-General Collaborative Product Design and Manufacturing Methodologies and Applications (Springer Series in Advanced Manufacturing) Springer-Verlag? W. D. Li? S. K. Ong? Andrew Y. C. Nee? Chris McMahon? Springer-Verlag? W.D.Li? S.K.Ong? AndrewY.C.Nee? ChrisMcMahon? ジャンル別? ユーズドブック(洋書)-Computers&Internet? ユーズドブック(洋書)-Engineering Subjects-Business&Investing-Management&Leadership-OperationsResearch? Subjects-Computers&Internet-Programming-APIs&OperatingEnvironments-DeviceDrivers? Subjects-Engineering-General? Subjects-Engineering-Industrial,Manufacturing&OperationalSystems-General? Subjects-Engineering-Industrial,Manufacturing&OperationalSystems-IndustrialDesign? Subjects-Engineering-Industrial,Manufacturing&OperationalSystems-Manufacturing? Subjects-Professional&Technical-Engineering-Industrial,Manufacturing&OperationalSystems-General? Subjects-Professional&Technical-Engineering-Industrial,Manufacturing&OperationalSystems-IndustrialDesign? Subjects-Professional&Technical-Engineering-Industrial,Manufacturing&OperationalSystems-Manufacturing? Subjects-Professional&Technical-Engineering-General Subjects-Professional&Technical-BusinessManagement-Management&Leadership-OperationsResearch? Subjects-Science-General Human Reliability and Error in Transportation Systems (Springer Series in Reliability Engineering) Springer-Verlag? B. S. Dhillon? Springer-Verlag? B.S.Dhillon? ジャンル別? ユーズドブック(洋書)-Engineering Subjects-Business&Investing-Management&Leadership-OperationsResearch? Subjects-Engineering-Automotive? Subjects-Engineering-General? Subjects-Engineering-Industrial,Manufacturing&OperationalSystems-General? Subjects-History-World-Transportation-General? Subjects-Nonfiction-Transportation-General? Subjects-Professional&Technical-Engineering-Industrial,Manufacturing&OperationalSystems-General? Subjects-Professional&Technical-Engineering-Automotive? Subjects-Professional&Technical-Engineering-General Subjects-Professional&Technical-BusinessManagement-Management&Leadership-OperationsResearch? Assistive Technology for the Vision-impaired and Blind Springer-Verlag? Marion Hersh? Springer-Verlag? MarionHersh? ジャンル別? ユーズドブック(洋書)-Engineering Subjects-Engineering-General? Subjects-Professional&Technical-Engineering-General Subjects-Science-General The Irish County Surveyors A Biographical Dictionary Four Courts Pr Ltd? Brendan O donoghue? FourCourtsPrLtd? BrendanO donoghue? ジャンル別? ユーズドブック(洋書)-Biographies&Memoirs? ユーズドブック(洋書)-Engineering Subjects-Biographies&Memoirs-Ethnic&National-Irish? Subjects-Biographies&Memoirs-General? Subjects-Engineering-Civil-Surveying&Photogrammetry? Subjects-Engineering-General? Subjects-History-Europe-England-19thCentury? Subjects-History-Europe-Ireland-General? Subjects-Professional&Technical-Engineering-Civil-Surveying&Photogrammetry? Subjects-Professional&Technical-Engineering-General Subjects-Reference-Catalogs&Directories-Directories? Subjects-Science-History&Philosophy-HistoryofTechnology? Theoretical Basin Modelling Exposure Publishing? Xin-she Yang? ExposurePublishing? Xin-sheYang? ジャンル別? ユーズドブック(洋書)-Engineering Subjects-Engineering-Civil-Hydrology? Subjects-Engineering-General? Subjects-Professional&Technical-Engineering-Civil-Hydrology? Subjects-Professional&Technical-Engineering-General Subjects-Professional&Technical-ProfessionalScience-EarthSciences-Geology? Subjects-Science-EarthSciences-Geology-General? Subjects-Science-General The Hitchhiker's Guide to Computational Engineering - Learn Scientific Computing in a Week! Exposure Publishing? Xin-she Yang? ExposurePublishing? Xin-sheYang? ジャンル別? ユーズドブック(洋書)-Computers&Internet? ユーズドブック(洋書)-Engineering Subjects-Computers&Internet-ComputerScience? Subjects-Computers&Internet-General? Subjects-Engineering-General? Subjects-Professional&Technical-Engineering-General Language Engineering ISTE? Jean-Marie Pierrel? ISTE? Jean-MariePierrel? ジャンル別? ユーズドブック(洋書)-Engineering Subjects-Engineering-General? Subjects-Professional&Technical-Engineering-General Convex Optimization Euclidean Distance Geometry Lulu.Com? Jon Dattorro? Lulu.Com? JonDattorro? ジャンル別? ユーズドブック(洋書)-Engineering Subjects-Engineering-General? Subjects-Professional&Technical-Engineering-General Subjects-Science-General Quaternion Cosmos Lulu.Com? Wardell Lindsay? Lulu.Com? WardellLindsay? ジャンル別? ユーズドブック(洋書)-Engineering Subjects-Engineering-General? Subjects-Professional&Technical-Engineering-General Subjects-Science-General Arquitectura Artificial O Manierismo Por Computadora Lulu.Com? Javier Fernandez Herrero? Lulu.Com? JavierFernandezHerrero? ジャンル別? ユーズドブック(洋書)-Engineering Subjects-Engineering-General? Subjects-Nonfiction-ForeignLanguageNonfiction-Spanish? Subjects-Professional&Technical-Engineering-General Resource Allocation in Hierarchical Cellular Systems (Artech House Mobile Communications Library) Artech House? Lauro Ortigoza-Guerrero? A. Hamid Aghvami? ArtechHouse? LauroOrtigoza-Guerrero? A.HamidAghvami? ジャンル別? Subjects-Computers&Internet-WebDevelopment-Platforms&Administration-CellularCommunications? Subjects-Engineering-Electrical&Electronics-General? Subjects-Engineering-General? Subjects-Engineering-Telecommunications-General? Subjects-Engineering-Telecommunications-Radio&Wireless? Subjects-Professional&Technical-Engineering-Electrical&Electronics-General? Subjects-Professional&Technical-Engineering-Telecommunications-General? Subjects-Professional&Technical-Engineering-Telecommunications-Radio&Wireless? Subjects-Professional&Technical-Engineering-General Subjects-Science-General Ellis' British Railway Engineering Encyclopaedia Lulu.Com? Iain Ellis? Lulu.Com? IainEllis? ジャンル別? ユーズドブック(洋書)-Engineering Subjects-Engineering-General? Subjects-Professional&Technical-Engineering-General Subjects-Science-General How to Build a Radio Station Lulu.Com? Dave Walters? Lulu.Com? DaveWalters? ジャンル別? ユーズドブック(洋書)-Engineering Subjects-Engineering-General? Subjects-Professional&Technical-Engineering-General Subjects-Science-General The Motorman...and His Duties the Classic Handbook for Electric Trolley, Streetcar and Interurban Motormen The Classic Handbook for Electric Trolley, Streetcar and Interurban Motormen Lulu.Com? Ludwig Gutmann? George R. Metcalfe? Lulu.Com? LudwigGutmann? GeorgeR.Metcalfe? ジャンル別? ユーズドブック(洋書)-Engineering Subjects-Engineering-General? Subjects-Professional&Technical-Engineering-General Subjects-Science-General Architecture Product Development Checklists Lulu.Com? Charles Babers? Lulu.Com? CharlesBabers? ジャンル別? ユーズドブック(洋書)-Engineering Subjects-Engineering-General? Subjects-Professional&Technical-Engineering-General Subjects-Science-General Architecture Development Made Simple Lulu.Com? Charles Babers? Lulu.Com? CharlesBabers? ジャンル別? ユーズドブック(洋書)-Engineering Subjects-Arts&Photography-Architecture-General? Subjects-Arts&Photography-Architecture-Reference? Subjects-Engineering-General? Subjects-Professional&Technical-Engineering-General Subjects-Professional&Technical-Architecture-General? Subjects-Professional&Technical-Architecture-Reference? The Enterprise Architecture Sourcebook Lulu.Com? Charles Babers? Lulu.Com? CharlesBabers? ジャンル別? ユーズドブック(洋書)-Engineering Subjects-Engineering-General? Subjects-Professional&Technical-Engineering-General Subjects-Science-General Meccanica Per Non Meccanici Lulu Press? Valter Caggio? LuluPress? ValterCaggio? ジャンル別? ユーズドブック(洋書)-Engineering Subjects-Engineering-General? Subjects-Professional&Technical-Engineering-General Quinta Essentia - Part 3 Lulu.com? Riccardo Storti? Lulu.com? RiccardoStorti? ジャンル別? ユーズドブック(洋書)-Engineering Subjects-Engineering-General? Subjects-Professional&Technical-Engineering-General Toyota Camry All Gasoline Engine Models 1983-88 Owner's Workshop Manual Haynes? Ken Freund? J H Haynes? Haynes? KenFreund? JHHaynes? ジャンル別? ユーズドブック(洋書)-Engineering Subjects-Engineering-General? Subjects-Nonfiction-Automotive-Repair? Subjects-Professional&Technical-Engineering-General Toyota Corolla Owners Workshop Manual Models Covered Toyota Corolla Deluxe Le Sedan and Deluxe Liftback Front-Wheel-Drive Versions With 1.6 Liter Haynes Pubns? Peter G. Strasman? HaynesPubns? PeterG.Strasman? ジャンル別? ユーズドブック(洋書)-Engineering Substores-UnknownASINs-38? Subjects-Engineering-General? Subjects-Professional&Technical-Engineering-General Ford Ranger and Bronco II 1983-86 Owner's Workshop Manual Haynes? Homer Eubanks? J H Haynes? Haynes? HomerEubanks? JHHaynes? ジャンル別? ユーズドブック(洋書)-Engineering Subjects-Engineering-General? Subjects-Nonfiction-Automotive-Repair? Subjects-Nonfiction-Automotive-SportUtilityVehicles? Subjects-Professional&Technical-Engineering-General Porsche 944 Owners Workshop Manual All Porsche 944 Models, Including Turbo 1983 Through 1986 Haynes Pubns? Larry Warren? Chaun Muir? John Harold Haynes? HaynesPubns? LarryWarren? ChaunMuir? JohnHaroldHaynes? ジャンル別? ユーズドブック(洋書)-Engineering Substores-UnknownASINs-38? Subjects-Engineering-General? Subjects-Professional&Technical-Engineering-General Subjects-Nonfiction-Automotive-Repair-General? Critical Chain Project Management (Artech House Professional Development Library) Artech House? Lawrence P. Leach? ArtechHouse? LawrenceP.Leach? ジャンル別? Subjects-Business&Investing-Careers-Entrepreneurship? Subjects-Business&Investing-Management&Leadership-Management? Subjects-Business&Investing-Management&Leadership-QualityControl? Subjects-Computers&Internet-Business&Culture-ProjectManagement? Subjects-Engineering-Electrical&Electronics-Antennas&Radar? Subjects-Engineering-General? Subjects-Engineering-Industrial,Manufacturing&OperationalSystems-General? Subjects-Engineering-Industrial,Manufacturing&OperationalSystems-QualityControl? Subjects-Professional&Technical-Engineering-Electrical&Electronics-Antennas&Radar? Subjects-Professional&Technical-Engineering-Industrial,Manufacturing&OperationalSystems-General? Subjects-Professional&Technical-Engineering-Industrial,Manufacturing&OperationalSystems-QualityControl? Subjects-Professional&Technical-Engineering-General Subjects-Professional&Technical-BusinessManagement-Management&Leadership-Management? Subjects-Professional&Technical-BusinessManagement-Management&Leadership-QualityControl? Subjects-Reference-Careers-Entrepreneurship? Subjects-Science-General Honda Civic Automotive Repair Manual, 1980-1983 (Haynes Owners Workshop Manuals) Haynes Pubns? Alec J. Jones? HaynesPubns? AlecJ.Jones? ジャンル別? ユーズドブック(洋書)-Engineering Substores-UnknownASINs-38? Subjects-Engineering-General? Subjects-Nonfiction-Automotive-General? Subjects-Nonfiction-Automotive-Repair? Subjects-Professional&Technical-Engineering-General Mazda 626 1983-85 (US Models) Owner's Workshop Manual Haynes? Larry Warren? J H Haynes? Haynes? LarryWarren? JHHaynes? ジャンル別? ユーズドブック(洋書)-Engineering Subjects-Engineering-General? Subjects-Nonfiction-Automotive-Repair? Subjects-Professional&Technical-Engineering-General Peugeot 504 Owners Workshop Manual/1968 Thru 1979 Motorbooks Intl? John Harold Haynes? MotorbooksIntl? JohnHaroldHaynes? ジャンル別? ユーズドブック(洋書)-Engineering Substores-UnknownASINs-38? Subjects-Engineering-General? Subjects-Nonfiction-Automotive-Repair? Subjects-Professional&Technical-Engineering-General Datsun Bluebird 160B and 180B 1972-April 1980 Mk.I and Mk.II Owner's Workshop Manual Haynes Publishing? Bruce Gilmour? HaynesPublishing? BruceGilmour? ジャンル別? ユーズドブック(洋書)-Engineering Subjects-Engineering-General? Subjects-Professional&Technical-Engineering-General Mercedes-Benz 200D, 240D, 240TD, 300D and 300TD (123 Series) 1976-85 Owner's Workshop Manual (Service Repair Manuals) Haynes Publishing? J.H. Haynes? Larry Warren? HaynesPublishing? J.H.Haynes? LarryWarren? ジャンル別? ユーズドブック(洋書)-Engineering Substores-UnknownASINs-38? Subjects-Engineering-Automotive? Subjects-Engineering-General? Subjects-Nonfiction-Automotive-Repair? Subjects-Professional&Technical-Engineering-Automotive? Subjects-Professional&Technical-Engineering-General Audi 5000 77 Thru 83 (PBK) Haynes Pubns? John Harold Haynes? HaynesPubns? JohnHaroldHaynes? ジャンル別? ユーズドブック(洋書)-Engineering Subjects-Engineering-General? Subjects-Engineering-Industrial,Manufacturing&OperationalSystems-Manufacturing? Subjects-Nonfiction-Transportation-General? Subjects-Nonfiction-Automotive-General? Subjects-Nonfiction-Automotive-Repair? Subjects-Professional&Technical-Engineering-Industrial,Manufacturing&OperationalSystems-Manufacturing? Subjects-Professional&Technical-Engineering-General Ford Escort and Mercury Lynx 1981-85 Owner's Workshop Manual Haynes? Larry Warren? J H Haynes? Haynes? LarryWarren? JHHaynes? ジャンル別? ユーズドブック(洋書)-Engineering Subjects-Engineering-General? Subjects-Professional&Technical-Engineering-General Haynes Datsun 610 Owners Workshop Manual 1972 - 1976 Motorbooks Intl? John Harold Haynes? MotorbooksIntl? JohnHaroldHaynes? ジャンル別? ユーズドブック(洋書)-Engineering ユーズドブック(洋書)-Home&Garden? Substores-UnknownASINs-38? Subjects-Engineering-General? Subjects-Home&Garden-How-to&HomeImprovements-Do-It-Yourself? Subjects-Professional&Technical-Engineering-General BMW Twins 1970-85 Owner's Workshop Manual Haynes? Jeremy Churchill? Haynes? JeremyChurchill? ジャンル別? ユーズドブック(洋書)-Engineering ユーズドブック(洋書)-Professional&Technical? Subjects-Engineering-General? Subjects-Professional&Technical-Engineering-General Nissan 300Zx Automotive Repair Manual 1984 Thru 1989 All Models (Bk No 1137) Haynes Pubns? Homer Eubanks? John Harold Haynes? HaynesPubns? HomerEubanks? JohnHaroldHaynes? ジャンル別? ユーズドブック(洋書)-Engineering Substores-UnknownASINs-38? Subjects-Engineering-General? Subjects-Nonfiction-Automotive-Repair? Subjects-Professional&Technical-Engineering-General Toyota Celica Supra 1982-86 Owner's Workshop Manual Haynes? Olaf Wolff? J H Haynes? Haynes? OlafWolff? JHHaynes? ジャンル別? ユーズドブック(洋書)-Engineering Subjects-Engineering-General? Subjects-Nonfiction-Automotive-Repair? Subjects-Professional&Technical-Engineering-General Dodge Daytona and Chrysler Laser 1984-86 Fuel Injection and Turbocharged Models Owner's Workshop Manual Haynes? Larry Warren? J H Haynes? Haynes? LarryWarren? JHHaynes? ジャンル別? ユーズドブック(洋書)-Engineering Subjects-Engineering-General? Subjects-Nonfiction-Automotive-Repair? Subjects-Professional&Technical-Engineering-General Haynes Honda Accord Automotive Repair Manual (Hayne's Automotive Repair Manual) Haynes Pubns? John Harold Haynes? I. M. Coomber? HaynesPubns? JohnHaroldHaynes? I.M.Coomber? ジャンル別? ユーズドブック(洋書)-Engineering Subjects-Engineering-General? Subjects-Nonfiction-Transportation-General? Subjects-Nonfiction-Automotive-General? Subjects-Nonfiction-Automotive-Repair? Subjects-Professional&Technical-Engineering-General Toyota Pick-Up Owners Workshop Manual, 1979-85 Haynes Pubns? John B. Raffa? John Harold Haynes? HaynesPubns? JohnB.Raffa? JohnHaroldHaynes? ジャンル別? ユーズドブック(洋書)-Engineering Substores-UnknownASINs-38? Subjects-Engineering-General? Subjects-Nonfiction-Automotive-Repair? Subjects-Professional&Technical-Engineering-General M.I.T. Radiation Laboratory Series 28 Volumes on 2 Cd-Roms (M.I.T. Radiation Laboratory) Artech House? Artech House? ArtechHouse? ArtechHouse? ジャンル別? Subjects-Engineering-Electrical&Electronics-Antennas&Radar? Subjects-Engineering-Electrical&Electronics-Electronics-General? Subjects-Engineering-Electrical&Electronics-General? Subjects-Engineering-General? Subjects-Professional&Technical-Engineering-Electrical&Electronics-Antennas&Radar? Subjects-Professional&Technical-Engineering-Electrical&Electronics-Electronics-General? Subjects-Professional&Technical-Engineering-Electrical&Electronics-General? Subjects-Professional&Technical-Engineering-General Subjects-Science-General Formats-AudioCDs-General? Yamaha RD and DT125LC 1982-85 Owner's Workshop Manual Haynes? Jeremy Churchill? Haynes? JeremyChurchill? ジャンル別? ユーズドブック(洋書)-Engineering Subjects-Engineering-General? Subjects-Nonfiction-Automotive-Motorcycles-General? Subjects-Professional&Technical-Engineering-General Fiat Owners Workshop Manual, 1975-1981 (Owners Workshop Manual) Haynes Pubns? John Harold Haynes? Colin Barge? HaynesPubns? JohnHaroldHaynes? ColinBarge? ジャンル別? ユーズドブック(洋書)-Engineering Substores-UnknownASINs-38? Subjects-Engineering-General? Subjects-Nonfiction-Automotive-Repair? Subjects-Professional&Technical-Engineering-General Subjects-Professional&Technical-Engineering-General 洋書
https://w.atwiki.jp/javadsge/pages/7652.html
(1)表 (2)プログラム プログラム (3)グラフ エクセル (4)出所 経済産業省 (5)メモ (6)作業記録 4月2日 プログラム追加 imageプラグインエラー ご指定のURLはサポートしていません。png, jpg, gif などの画像URLを指定してください。 imageプラグインエラー ご指定のURLはサポートしていません。png, jpg, gif などの画像URLを指定してください。 -
https://w.atwiki.jp/2nd-dimension/pages/7.html
ここは、各々が使用している職業を解説するページです。 長所や短所等、たくさん書き込んで新規で他ギルメンが始めやすいようにしましょう! 鬼剣士 ウェポンマスター チチッチチッチチットァー!ウワァーwwwwww ソウルブリンガー カラアアアアアアアアアアアアア バーサーカー 阿修羅 格闘家(男) ネンマスター ストライカー 喧嘩屋 グラップラー 格闘家 (女) ネンマスター /^r ´ ゙̄ヽ l i ノノハリ))) ネンターン! ガッ |)ノC| ‘ヮノ| ∧__∧ (~||っ~ ~ y⌒二ニ((っ-=≡ ・━━━━━☆; )ω・) .,, ;,; //~ ノ^ 彡 ⊂ つ イ~ *イ^ヽ ⊂⊂_ノ ,ィ´ィノ // 7ィ´ ~~~~ヘ , ストライカー 喧嘩屋 グラップラー ガンナー (男) レンジャー ランチャー メカニック スピッドファイア ガンナー (女) レンジャー ランチャー メカニック スピッドファイア メイジ (男) エレメンタルボマー 氷結師 メイジ (女) エレメンタルマスター ○4属性それぞれのスキル数が多いコトから、スキル振りに自由度が高い 属性を特化すれば高火力広範囲にもなり、ダンジョン次第で臨機応変に対応すれば手軽にダンジョン攻略が出来る 装備が揃うまで火力が足りない? アー、アー、キコエナイー サモナー ○契約、精霊、犠牲の大まかな3パターンより構成され、ソロなのに自分が支援に回るという一風変わった戦い方になる しかし、一部のダンジョンではハマりや固定ボスなどに苦労するが、大体のダンジョンは適正でHやUも恐くない安定性を誇る とりあえず、まずはスペックの高いPCを購入するコトを推奨する バトルメイジ 魔導学者 プリースト クルセイダー インファイター 退魔師 アヴェンジャー シーフ ローグ 死霊術師
https://w.atwiki.jp/kimikage/pages/77.html
使い方 ①フォームにボタン(button1)を加える ②button1のクリックイベントにbutton1_Clickを設定する ③usingにCustomMsgBox(当プログラムのnamespace)を加える ④以下のコードをフォームのコードに加える private void button1_Click(object sender, EventArgs e) { MsgBox.Show(this, "wow"); MsgBox.Show(this, "wow", "cap"); MsgBox.Show(this, "wow", "cap", MessageBoxButtons.OK); MsgBox.Show(this, "wow", "cap", MessageBoxButtons.OK, MessageBoxIcon.Information); MsgBox.Show(this, "wow", "cap", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1); MsgBox.Show(this, "wow", "cap", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign); MsgBox.Show(this, "wow", "cap", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign, ""); MsgBox.Show(this, "wow", "cap", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign, "", HelpNavigator.Index); MsgBox.Show(this, "wow", "cap", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign, "", HelpNavigator.Index, null); } Owner Window中央に表示されるMessageBox using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Runtime.InteropServices; using System.Windows.Forms; using System.Windows; namespace CustomMsgBox { /// summary /// Owner Window中央に表示されるMessageBox /// /summary public class MsgBox { [DllImport("user32.dll")] public static extern bool UnhookWindowsHookEx(IntPtr hHook); [DllImport("user32.dll")] public static extern IntPtr GetWindowLong(IntPtr hWnd, int nIndex); [DllImport("kernel32.dll")] public static extern IntPtr GetCurrentThreadId(); [DllImport("user32.dll")] public static extern IntPtr SetWindowsHookEx(int idHook, HOOKPROC lpfn, IntPtr hMod, IntPtr dwThreadId); [DllImport("user32.dll")] public static extern IntPtr CallNextHookEx(IntPtr hHook, int nCode, IntPtr wParam, IntPtr lParam); [DllImport("user32.dll")] public static extern bool SetWindowPos(IntPtr hWnd, int hWndInsertAfter, int X, int Y, int cx, int cy, uint uFlags); [DllImport("user32.dll")] public static extern bool GetWindowRect(IntPtr hWnd, out RECT lpRect); public delegate IntPtr HOOKPROC(int nCode, IntPtr wParam, IntPtr lParam); public enum HookType int { WH_JOURNALRECORD = 0, WH_JOURNALPLAYBACK = 1, WH_KEYBOARD = 2, WH_GETMESSAGE = 3, WH_CALLWNDPROC = 4, WH_CBT = 5, WH_SYSMSGFILTER = 6, WH_MOUSE = 7, WH_HARDWARE = 8, WH_DEBUG = 9, WH_SHELL = 10, WH_FOREGROUNDIDLE = 11, WH_CALLWNDPROCRET = 12, WH_KEYBOARD_LL = 13, WH_MOUSE_LL = 14, } public enum GWL int { GWL_HINSTANCE = (-6), GWL_HWNDPARENT = (-8), GWL_ID = (-12), GWL_EXSTYLE = (-20), GWL_STYLE = (-16), GWL_WNDPROC = (-16), GWL_USERDATA = (-21), } public enum SWP uint { SWP_ASYNCWINDOWPOS = 0x4000, SWP_DEFERERASE = 0x2000, SWP_DRAWFRAME = 0x0020, SWP_FRAMECHANGED = 0x0020, SWP_HIDEWINDOW = 0x0080, SWP_NOACTIVATE = 0x0010, SWP_NOCOPYBITS = 0x0100, SWP_NOMOVE = 0x0002, SWP_NOOWNERZORDER = 0x0200, SWP_NOREDRAW = 0x0008, SWP_NOREPOSITION = 0x0200, SWP_NOSENDCHANGING = 0x0400, SWP_NOSIZE = 0x0001, SWP_NOZORDER = 0x0004, SWP_SHOWWINDOW = 0x0040, } public enum HCBT int { HCBT_ACTIVATE = 5, HCBT_CLICKSKIPPED = 6, HCBT_CREATEWND = 3, HCBT_DESTROYWND = 4, HCBT_KEYSKIPPED = 7, HCBT_MINMAX = 1, HCBT_MOVESIZE = 0, HCBT_QS = 2, HCBT_SETFOCUS = 9, HCBT_SYSCOMMAND = 8, } public struct RECT { public int Left; public int Top; public int Right; public int Bottom; public int Width { get { return Right - Left; } } public int Height { get { return Bottom - Top; } } } /// summary /// 親ウィンドウ /// /summary private IWin32Window OwnerWindow; /// summary /// フックハンドル /// /summary private IntPtr HHook; /// summary /// コンストラクタ /// /summary /// param name="owner" 親ウィンドウ /param private MsgBox(IWin32Window owner) { OwnerWindow = owner; } public static DialogResult Show( IWin32Window owner, string text) { MsgBox mb = new MsgBox(owner); return mb.ShowMsgDialog(text); } public static DialogResult Show( IWin32Window owner, string text, string caption) { MsgBox mb = new MsgBox(owner); return mb.ShowMsgDialog(text, caption); } public static DialogResult Show( IWin32Window owner, string text, string caption, MessageBoxButtons buttons) { MsgBox mb = new MsgBox(owner); return mb.ShowMsgDialog(text, caption, buttons); } public static DialogResult Show( IWin32Window owner, string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon) { MsgBox mb = new MsgBox(owner); return mb.ShowMsgDialog(text, caption, buttons, icon); } public static DialogResult Show( IWin32Window owner, string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defaultButton) { MsgBox mb = new MsgBox(owner); return mb.ShowMsgDialog(text, caption, buttons, icon, defaultButton); } public static DialogResult Show( IWin32Window owner, string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defaultButton, MessageBoxOptions options) { MsgBox mb = new MsgBox(owner); return mb.ShowMsgDialog(text, caption, buttons, icon, defaultButton, options); } public static DialogResult Show( IWin32Window owner, string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defaultButton, MessageBoxOptions options, string helpFilePath) { MsgBox mb = new MsgBox(owner); return mb.ShowMsgDialog(text, caption, buttons, icon, defaultButton, options, helpFilePath); } public static DialogResult Show( IWin32Window owner, string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defaultButton, MessageBoxOptions options, string helpFilePath, HelpNavigator navigator) { MsgBox mb = new MsgBox(owner); return mb.ShowMsgDialog(text, caption, buttons, icon, defaultButton, options, helpFilePath, navigator); } public static DialogResult Show( IWin32Window owner, string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defaultButton, MessageBoxOptions options, string helpFilePath, HelpNavigator navigator, object param) { MsgBox mb = new MsgBox(owner); return mb.ShowMsgDialog(text, caption, buttons, icon, defaultButton, options, helpFilePath, navigator, param); } private DialogResult ShowMsgDialog( string text) { // フック設定 SetHook(OwnerWindow); return MessageBox.Show(OwnerWindow, text); } private DialogResult ShowMsgDialog( string text, string caption) { // フック設定 SetHook(OwnerWindow); return MessageBox.Show(OwnerWindow, text, caption); } private DialogResult ShowMsgDialog( string text, string caption, MessageBoxButtons buttons) { // フック設定 SetHook(OwnerWindow); return MessageBox.Show(OwnerWindow, text, caption, buttons); } private DialogResult ShowMsgDialog( string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon) { // フック設定 SetHook(OwnerWindow); return MessageBox.Show(OwnerWindow, text, caption, buttons, icon); } private DialogResult ShowMsgDialog( string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defaultButton) { // フック設定 SetHook(OwnerWindow); return MessageBox.Show(OwnerWindow, text, caption, buttons, icon, defaultButton); } private DialogResult ShowMsgDialog( string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defaultButton, MessageBoxOptions options) { // フック設定 SetHook(OwnerWindow); return MessageBox.Show(OwnerWindow, text, caption, buttons, icon, defaultButton, options); } private DialogResult ShowMsgDialog( string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defaultButton, MessageBoxOptions options, string helpFilePath) { // フック設定 SetHook(OwnerWindow); return MessageBox.Show(OwnerWindow, text, caption, buttons, icon, defaultButton, options, helpFilePath); } private DialogResult ShowMsgDialog( string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defaultButton, MessageBoxOptions options, string helpFilePath, HelpNavigator navigator) { // フック設定 SetHook(OwnerWindow); return MessageBox.Show(OwnerWindow, text, caption, buttons, icon, defaultButton, options, helpFilePath, navigator); } private DialogResult ShowMsgDialog( string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defaultButton, MessageBoxOptions options, string helpFilePath, HelpNavigator navigator, object param) { // フック設定 SetHook(OwnerWindow); return MessageBox.Show(OwnerWindow, text, caption, buttons, icon, defaultButton, options, helpFilePath, navigator, param); } /// summary /// フックプロシージャ /// /summary /// param name="nCode" /param /// param name="wParam" /param /// param name="lParam" /param /// returns /returns private IntPtr CBTProc( int nCode, IntPtr wParam, IntPtr lParam) { if (nCode == (int)HCBT.HCBT_ACTIVATE) { RECT rectOwner; RECT rectMsgBox; int x, y; // Window位置・サイズ取得 GetWindowRect(OwnerWindow.Handle, out rectOwner); GetWindowRect(wParam, out rectMsgBox); // MessageBox出力位置設定 x = rectOwner.Left + (rectOwner.Width - rectMsgBox.Width) / 2; y = rectOwner.Top + (rectOwner.Height - rectMsgBox.Height) / 2; SetWindowPos(wParam, 0, x, y, 0, 0, (uint)(SWP.SWP_NOSIZE | SWP.SWP_NOZORDER | SWP.SWP_NOACTIVATE)); // フック解除 UnhookWindowsHookEx(HHook); } // 次のプロシージャへのポインタ return CallNextHookEx(HHook, nCode, wParam, lParam); } /// summary /// フック設定 /// /summary /// param name="owner" /param private void SetHook(IWin32Window owner) { // フック設定 IntPtr hInstance = GetWindowLong(OwnerWindow.Handle, (int)GWL.GWL_HINSTANCE); IntPtr threadId = GetCurrentThreadId(); HHook = SetWindowsHookEx((int)HookType.WH_CBT, new HOOKPROC(CBTProc), hInstance, threadId); } } }
https://w.atwiki.jp/bambooflow/pages/100.html
10. 衝突検出210.7. Geometry Classes10.7.1. Sphere Class 10.7.2. Box Class 10.7.3. Plane Class 10.7.4. Capped Cylinder Class 10.7.5. Ray Class 10.7.6. Triangle Mesh Class 10.7.7. Geometry Transform Class 10.8. User defined classes 10. 衝突検出2 10.7. Geometry Classes 10.7.1. Sphere Class dGeomID dCreateSphere (dSpaceID space, dReal radius); Create a sphere geom of the given radius, and return its ID. If space is nonzero, insert it into that space. The point of reference for a sphere is its center. 与えられたradiusの球体geomを生成し、そのIDを返す。 spaceがゼロでない場合、スペースに挿入する。参照ポイントはその球体の中心である。 void dGeomSphereSetRadius (dGeomID sphere, dReal radius); Set the radius of the given sphere. 与えられた球体の半径を設定する。 dReal dGeomSphereGetRadius (dGeomID sphere); Return the radius of the given sphere. 与えられた球体の半径を返す。 dReal dGeomSpherePointDepth (dGeomID sphere, dReal x, dReal y, dReal z); Return the depth of the point (x,y,z) in the given sphere. Points inside the geom will have positive depth, points outside it will have negative depth, and points on the surface will have zero depth. 10.7.2. Box Class dGeomID dCreateBox (dSpaceID space, dReal lx, dReal ly, dReal lz); Create a box geom of the given x/y/z side lengths (lx,ly,lz), and return its ID. If space is nonzero, insert it into that space. The point of reference for a box is its center. 与えられたx/y/zの側面の長さ( lx, ly, lz )のgeomボックスを生成し、そのIDを返す。splaceがゼロでない場合、スペースに挿入する。参照ポイントはそのボックスの中心である。 void dGeomBoxSetLengths (dGeomID box, dReal lx, dReal ly, dReal lz); Set the side lengths of the given box. 与えられたboxの側面を設定する。 void dGeomBoxGetLengths (dGeomID box, dVector3 result); Return in result the side lengths of the given box. 与えられたboxの側面をresultとして返す。 dReal dGeomBoxPointDepth (dGeomID box, dReal x, dReal y, dReal z); Return the depth of the point (x,y,z) in the given box. Points inside the geom will have positive depth, points outside it will have negative depth, and points on the surface will have zero depth. 10.7.3. Plane Class dGeomID dCreatePlane (dSpaceID space, dReal a, dReal b, dReal c, dReal d); Create a plane geom of the given parameters, and return its ID. If space is nonzero, insert it into that space. The plane equation is a*x+b*y+c*z = d The plane s normal vector is (a,b,c), and it must have length 1. Planes are non-placeable geoms. This means that, unlike placeable geoms, planes do not have an assigned position and rotation. This means that the parameters (a,b,c,d) are always in global coordinates. In other words it is assumed that the plane is always part of the static environment and not tied to any movable object. void dGeomPlaneSetParams (dGeomID plane, dReal a, dReal b, dReal c, dReal d); Set the parameters of the given plane. 与えられたplaneのパラメータを設定する。 void dGeomPlaneGetParams (dGeomID plane, dVector4 result); Return in result the parameters of the given plane. 与えられたplaneのパラメータをresultとして返す。 dReal dGeomPlanePointDepth (dGeomID plane, dReal x, dReal y, dReal z); Return the depth of the point (x,y,z) in the given plane. Points inside the geom will have positive depth, points outside it will have negative depth, and points on the surface will have zero depth. 10.7.4. Capped Cylinder Class dGeomID dCreateCCylinder (dSpaceID space, dReal radius, dReal length); Create a capped cylinder geom of the given parameters, and return its ID. If space is nonzero, insert it into that space. A capped cylinder is like a normal cylinder except it has half-sphere caps at its ends. This feature makes the internal collision detection code particularly fast and accurate. The cylinder s length, not counting the caps, is given by length. The cylinder is aligned along the geom s local Z axis. The radius of the caps, and of the cylinder itself, is given by radius. void dGeomCCylinderSetParams (dGeomID ccylinder, dReal radius, dReal length); Set the parameters of the given capped cylinder. void dGeomCCylinderGetParams (dGeomID ccylinder, dReal *radius, dReal *length); Return in radius and length the parameters of the given capped cylinder. dReal dGeomCCylinderPointDepth (dGeomID ccylinder, dReal x, dReal y, dReal z); Return the depth of the point (x,y,z) in the given capped cylinder. Points inside the geom will have positive depth, points outside it will have negative depth, and points on the surface will have zero depth. 10.7.5. Ray Class A ray is different from all the other geom classes in that it does not represent a solid object. It is an infinitely thin line that starts from the geom s position and extends in the direction of the geom s local Z-axis. rayは固体を表さないので他のすべてのgeomクラスとは異なる。 geomの位置からスタートし、geomのローカルのZ軸の方向に伸びる無限に薄いラインである。 Calling dCollide between a ray and another geom will result in at most one contact point. Rays have their own conventions for the contact information in the dContactGeom structure (thus it is not useful to create contact joints from this information) 線と別のgeomの間のdCollideを呼ぶことは、大部分で1つの 接触ポイントで終わる。線はdContactGeom構造体に接触情報の条約を持つ(したがって、この情報から接触ジョイントを生成のために用いられな い): pos - This is the point at which the ray intersects the surface of the other geom, regardless of whether the ray starts from inside or outside the geom. normal - This is the surface normal of the other geom at the contact point. if dCollide is passed the ray as its first geom then the normal will be oriented correctly for ray reflection from that surface (otherwise it will have the opposite sign). depth - This is the distance from the start of the ray to the contact point. Rays are useful for things like visibility testing, determining the path of projectiles or light rays, and for object placement. dGeomID dCreateRay (dSpaceID space, dReal length); Create a ray geom of the given length, and return its ID. If space is nonzero, insert it into that space. void dGeomRaySetLength (dGeomID ray, dReal length); Set the length of the given ray. 与えられたrayの長さを設定する。 dReal dGeomRayGetLength (dGeomID ray); Get the length of the given ray. 与えられたrayの長さを取得する。 void dGeomRaySet (dGeomID ray, dReal px, dReal py, dReal pz, dReal dx, dReal dy, dReal dz); Set the starting position (px,py,pz) and direction (dx,dy,dz) of the given ray. The ray s rotation matrix will be adjusted so that the local Z-axis is aligned with the direction. Note that this does not adjust the ray s length. void dGeomRayGet (dGeomID ray, dVector3 start, dVector3 dir); Get the starting position (start) and direction (dir) of the ray. The returned direction will be a unit length vector. 10.7.6. Triangle Mesh Class A triangle mesh (TriMesh) represents an arbitrary collection of triangles. The triangle mesh collision system has the following features 三角形メッシュ(TriMesh)は、三角形の任意のコレクションを表 す。三角形メッシュ衝突システムは次の特徴を持つ: Any triangle ``soup can be represented --- i.e. the triangles are not required to have any particular strip, fan or grid structure. どんな三角形"スープ"は表すことができる---つまり、三角 形はどんな特殊な一片(ファンか格子構造)も持つことは要求されない。 Triangle meshes can interact with spheres, boxes, rays and other triangle meshes. 三角形メッシュは球体、箱、線、他の三角形メッシュなどと作用 することができる。 It works well for relatively large triangles. 比較的大きな三角形にうまく働く。 It uses temporal coherence to speed up collision tests. When a geom has its collision checked with a trimesh once, data is stored inside the trimesh. This data can be cleared with the dGeomTriMeshClearTCCache function. In the future it will be possible to disable this functionality. それは、衝突試験をスピードを上げるために一時的に結合する。 geomが一度trimeshとの衝突を確認した場合、データはtrimeshの内部で格納される。このデータは dGeomTriMeshClearTCCache関数で取り除くことができる。今後、この機能性を無効にすることは可能である。 Trimesh/Trimesh collisions, perform quite well, but there are three minor caveats The stepsize you use will, in general, have to be reduced for accurate collision resolution. Non-convex shape collision is much more dependent on the collision geometry than primitive collisions. Further, the local contact geometry will change more rapidly (and in a more complex fashion) for non-convex polytopes than it does for simple, convex polytopes such as spheres and cubes. In order to efficiently resolve collisions, dCollideTTL needs the positions of the colliding trimeshes in the previous timestep. This is used to calculate an estimated velocity of each colliding triangle, which is used to find the direction of impact, contact normals, etc. This requires the user to update these variables at every timestep. This update is performed outside of ODE, so it is not included in ODE itself. The code to do this looks something like this const double *DoubleArrayPtr = Bodies[BodyIndex].TransformationMatrix- GetArray(); dGeomTriMeshDataSet( TriMeshData, TRIMESH_LAST_TRANSFORMATION, (void *) DoubleArrayPtr ); The transformation matrix is the standard 4x4 homogeneous transform matrix, and the "DoubleArray" is the standard flattened array of the 16 matrix values. NOTE The triangle mesh class is not final, so in the future API changes might be expected. dTriMeshDataID dGeomTriMeshDataCreate(); void dGeomTriMeshDataDestroy (dTriMeshDataID g); Creates and destroys a dTriMeshData object which is used to store mesh data. void dGeomTriMeshDataBuild (dTriMeshDataID g, const void* Vertices, int VertexStride, int VertexCount, const void* Indices, int IndexCount, int TriStride, const void* Normals); Used for filling a dTriMeshData object with data. No data is copied here, so the pointers passed into this function must remain valid. This is how the strided data works struct StridedVertex { dVector3 Vertex; // 4th component can be left out, reducing memory usage // Userdata }; int VertexStride = sizeof (StridedVertex); struct StridedTri { int Indices[3]; // Userdata }; int TriStride = sizeof (StridedTri); The Normals argument is optional the normals of the faces of each trimesh object. For example, dTriMeshDataID TriMeshData; TriMeshData = dGeomTriMeshGetTriMeshDataID ( Bodies[BodyIndex].GeomID); // as long as dReal == floats dGeomTriMeshDataBuildSingle (TriMeshData, // Vertices Bodies[BodyIndex].VertexPositions, 3*sizeof(dReal), (int) numVertices, // Faces Bodies[BodyIndex].TriangleIndices, (int) NumTriangles, 3*sizeof(unsigned int), // Normals Bodies[BodyIndex].FaceNormals); This pre-calculation saves some time during evaluation of the contacts, but isn t necessary. If you don t want to calculate the face normals before construction (or if you have enormous trimeshes and know that only very few faces will be touching and want to save time), just pass a "NULL" for the Normals argument, and dCollideTTL will take care of the normal calculations itself. void dGeomTriMeshDataBuildSimple (dTriMeshDataID g, const dVector3*Vertices, int VertexCount, const int* Indices, int IndexCount); Simple build function provided for convenience. typedef int dTriCallback (dGeomID TriMesh, dGeomID RefObject, int TriangleIndex); void dGeomTriMeshSetCallback (dGeomID g, dTriCallback *Callback); dTriCallback* dGeomTriMeshGetCallback (dGeomID g); Optional per triangle callback. Allows the user to say if collision with a particular triangle is wanted. If the return value is zero no contact will be generated. typedef void dTriArrayCallback (dGeomID TriMesh, dGeomID RefObject, const int* TriIndices, int TriCount); void dGeomTriMeshSetArrayCallback (dGeomID g, dTriArrayCallback* ArrayCallback); dTriArrayCallback *dGeomTriMeshGetArrayCallback (dGeomID g); Optional per geom callback. Allows the user to get the list of all intersecting triangles in one shot. typedef int dTriRayCallback (dGeomID TriMesh, dGeomID Ray, int TriangleIndex, dReal u, dReal v); void dGeomTriMeshSetRayCallback (dGeomID g, dTriRayCallback* Callback); dTriRayCallback *dGeomTriMeshGetRayCallback (dGeomID g); Optional Ray callback. Allows the user to determine if a ray collides with a triangle based on the barycentric coordinates of an intersection. The user can for example sample a bitmap to determine if a collision should occur. dGeomID dCreateTriMesh (dSpaceID space, dTriMeshDataID Data, dTriCallback *Callback, dTriArrayCallback * ArrayCallback, dTriRayCallback* RayCallback); Constructor. The Data member defines the vertex data the newly created triangle mesh will use. void dGeomTriMeshSetData (dGeomID g, dTriMeshDataID Data); Replaces the current data. void dGeomTriMeshClearTCCache (dGeomID g); Clears the internal temporal coherence caches. void dGeomTriMeshGetTriangle (dGeomID g, int Index, dVector3 *v0, dVector3 *v1, dVector3 *v2); Retrieves a triangle in object space. The v0, v1 and v2 arguments are optional. void dGeomTriMeshGetPoint (dGeomID g, int Index, dReal u, dReal v, dVector3 Out); Retrieves a position in object space based on the incoming data. void dGeomTriMeshEnableTC(dGeomID g, int geomClass, int enable); int dGeomTriMeshIsTCEnabled(dGeomID g, int geomClass); These functions can be used to enable/disable the use of temporal coherence during tri-mesh collision checks. Temporal coherence can be enabled/disabled per tri-mesh instance/geom class pair, currently it works for spheres and boxes. The default for spheres and boxes is false . The enable param should be 1 for true, 0 for false. Temporal coherence is optional because allowing it can cause subtle efficiency problems in situations where a tri-mesh may collide with many different geoms during its lifespan. If you enable temporal coherence on a tri-mesh then these problems can be eased by intermittently calling dGeomTriMeshClearTCCache for it. 10.7.7. Geometry Transform Class A geometry transform `T is a geom that encapsulates another geom `E , allowing E to be positioned and rotated arbitrarily with respect to its point of reference. 形状変形’T’は別のgeom’E’をカプセルに入れるgeomで、E が参照ポイントに関して任意に位置し回転することを可能にする。 Most placeable geoms (like the sphere and box) have their point of reference corresponding to their center of mass, allowing them to be easily connected to dynamics objects. Transform objects give you more flexibility - for example, you can offset the center of a sphere, or rotate a cylinder so that its axis is something other than the default. もっとも配置できるgeom(球体やボックスのような)は、それらの質 量中心に対応する参照ポイントを持ち、力学オブジェクトに容易に接続が可能である。変形オブジェクトは弾力性が与えられる。例えば、球体の中心を補正でき たり、または軸がデフォルトでないようなシリンダの回転を補正できる。 T mimics the object E that it encapsulates T is inserted into a space and attached to a body as though it was E. E itself must not be inserted into a space or attached to a body. E s position and rotation are set to constant values that say how it is transformed relative to T. If E s position and rotation are left at their default values, T will behave exactly like E would have if you had used it directly. Tはカプセル化されたEオブジェクトに似た構造である:Tはスペースに 挿入され、Eのような剛体に繋がれる。E自体はスペースに挿入または、剛体に繋がれてはいけない。Eの位置と回転は、Tに関係したものを変形させた一定値 に設定される。Eの位置と回転がデフォルト値で残された場合、それを直接使用していたならば、Eが持つように、Tは正確に作用するだろう。 dGeomID dCreateGeomTransform (dSpaceID space); Create a new geometry transform object, and return its ID. If space is nonzero, insert it into that space. On creation the encapsulated geometry is set to 0. 新しい形状変形したオブジェクトを生成し、そのIDを返す。space が非ゼロである場合は、そのspaceに挿入する。生成においては、カプセルに入れられた幾何学は0に設定される。 void dGeomTransformSetGeom (dGeomID g, dGeomID obj); Set the geom that the geometry transform g encapsulates. The object obj must not be inserted into any space, and must not be associated with any body. カプセルに入った形状変形したgのgeomを設定する。objオブジェ クトは任意のスペースに挿入されてはならない、そして任意の剛体に関係していてはいけない。 If g has its clean-up mode turned on, and it already encapsulates an object, the old object will be destroyed before it is replaced with the new one. gがクリーンアップ・モードで付けているとき、それが既にオブジェクト をカプセルに入れる場合、新しいものと取り替えられる前に、古いオブジェクトが破棄される。 dGeomID dGeomTransformGetGeom (dGeomID g); Get the geom that the geometry transform g encapsulates. カプセル化された幾何学トランスフォームのgであるgeomを取得す る。 void dGeomTransformSetCleanup (dGeomID g, int mode); int dGeomTransformGetCleanup (dGeomID g); Set and get the clean-up mode of geometry transform g. If the clean-up mode is 1, then the encapsulated object will be destroyed when the geometry transform is destroyed. If the clean-up mode is 0 this does not happen. The default clean-up mode is 0. 形状変形gのクリーンアップモードの設定取得を行う。クリーンアップ モードが1の場合、カプセル化されたオブジェクトは形状変形が破棄されたとき破棄される。クリーンアップモードが0の場合、なにも起こらない。デフォルト のクリーンアップモードは0である。 void dGeomTransformSetInfo (dGeomID g, int mode); int dGeomTransformGetInfo (dGeomID g); Set and get the "information" mode of geometry transform g. The mode can be 0 or 1. The default mode is 0. With mode 0, when a transform object is collided with another object (using dCollide (tx_geom,other_geom,...)), the g1 field of the dContactGeom structure is set to the geom that is encapsulated by the transform object. This value of g1 allows the caller to interrogate the type of the geom that is transformed, but it does not allow the caller to determine the position in global coordinates or the associated body, as both of these properties are used differently for encapsulated geoms. With mode 1, the g1 field of the dContactGeom structure is set to the transform object itself. This makes the object appear just like any other kind of geom, as dGeomGetBody will return the attached body, and dGeomGetPosition will return the global position. To get the actual type of the encapsulated geom in this case, dGeomTransformGetGeom must be used. 10.8. User defined classes ODE s geometry classes are implemented internally as C++ classes. If you want to define your own geometry classes you can do this in two ways Use the C functions in this section. This has the advantage of providing a clean separation between your code and ODE. Add the classes directly to ODE s source code. This has the advantage that you can use C++ so the implementation will potentially be a bit cleaner. This is also the preferred method if your collision class is generally useful and you want to contribute it to the public source base. What follows is the C API for user defined geometry classes. Every user defined geometry class has a unique integer number. A new geometry class (call it `X ) must provide the following to ODE Functions that will handle collision detection and contact generation between X and one or more other classes. These functions must be of type dColliderFn, which is defined as typedef int dColliderFn (dGeomID o1, dGeomID o2, int flags, dContactGeom *contact, int skip); This has exactly the same interface as dCollide. Each function will handle a specific collision case, where o1 has type X and o2 has some other known type. A "selector" function, of type dGetColliderFnFn, which is defined as typedef dColliderFn * dGetColliderFnFn (int num); This function takes a class number (num), and returns the collider function that can handle colliding X with class num. It should return 0 if X does not know how to collide with class num. Note that if classes X and Y are to collide, only one needs to provide a function to collide with the other. This function is called infrequently - the return values are cached and reused. A function that will compute the axis aligned bounding box (AABB) of instances of this class. This function must be of type dGetAABBFn, which is defined as typedef void dGetAABBFn (dGeomID g, dReal aabb[6]); This function is given g, which has type X, and returns the axis-aligned bounding box for g. The aabb array has elements (minx, maxx,miny,maxy,minz,maxz). If you don t want to compute tight bounds for the AABB, you can just supply a pointer to dInfiniteAABB, which returns +/- infinity in each direction. The number of bytes of "class data" that instances of this class need. For example a sphere stores its radius in the class data area, and a box stores its side lengths there. The following things are optional for a geometry class A function that will destroy the class data. Most classes will not need this function, but some will want to deallocate heap memory or release other resources. This function must be of type dGeomDtorFn, which is defined as typedef void dGeomDtorFn (dGeomID o); The argument o has type X. A function that will test whether a given AABB intersects with an instance of X. This is used as an early-exit test in the space collision functions. This function must be of type dAABBTestFn, which is defined as typedef int dAABBTestFn (dGeomID o1, dGeomID o2, dReal aabb2[6]); The argument o1 has type X. If this function is provided it is called by dSpaceCollide when o1 intersects geom o2, which has an AABB given by aabb2. It returns 1 if aabb2 intersects o1, or 0 if it does not. This is useful, for example, for large terrains. Terrains typically have very large AABBs, which
https://w.atwiki.jp/hearlow2/pages/32.html
#freeze #nofollow #norelated 前ページPukiWiki/1.4/Manual/Plugin V [#be6c635c] version [#v924021a] versionlist [#n3c07f6b] vote [#aa4fb1f8] Y [#kb2afc33] yetlist [#v5902d84] V version 種別 ブロック型プラグイン インライン型プラグイン 重要度 ★☆☆☆☆ 書式 #version version; 概要 インストールされているPukiWikiのバージョンを表示します。 versionlist 種別 コマンド ブロック型プラグイン 重要度 ★☆☆☆☆ 書式 ?plugin=versionlist #versionlist 概要 pukiwiki.phpのあるディレクトリとpluginのディレクトリ内のphpファイルのバージョンを表示します。 vote 種別 コマンド ブロック型プラグイン 重要度 ★★☆☆☆ 書式 #vote( 選択肢1 [ 選択肢1の投票数 ] [, 選択肢2 [ 選択肢2の投票数 ] [, 選択肢3 [ 選択肢3の投票数 ]… [, 選択肢n [ 選択肢nの投票数 ]]] ) 概要 選択肢と投票数と投票ボタンが並んだ簡易投票フォームを表示します。 引数 選択肢1〜nに投票項目を指定します。投票項目に続けて半角大括弧"[]"で括った数値を指定すると選択肢の投票数を指定できます。 備考 各選択肢の投票数は編集によって容易に改竄できるため、厳密な投票には向きません。 Y yetlist 種別 コマンド 重要度 ★★☆☆☆ 書式 ?plugin=yetlist 概要 まだ作られていないページを一覧表示します。 まだ作られていないページとは、既存のページでWikiNameあるいはBracketNameで指定されていて、まだ作られていないページです。 備考 自分以外の誰かがページを書くかもしれないという点は非常にWiki的ですが、実際の運用面ではcommentに記述された一見さんの名前やWikiName同様のパラメータ名など、ページ化しにくいキーワードが大量に引っかかってしまいます。 前ページPukiWiki/1.4/Manual/Plugin
https://w.atwiki.jp/jinrowiki/pages/43.html
#freeze #nofollow #norelated 前ページPukiWiki/1.4/Manual/Plugin V [#be6c635c] version [#v924021a] versionlist [#n3c07f6b] vote [#aa4fb1f8] Y [#kb2afc33] yetlist [#v5902d84] V version 種別 ブロック型プラグイン インライン型プラグイン 重要度 ★☆☆☆☆ 書式 #version version; 概要 インストールされているPukiWikiのバージョンを表示します。 versionlist 種別 コマンド ブロック型プラグイン 重要度 ★☆☆☆☆ 書式 ?plugin=versionlist #versionlist 概要 pukiwiki.phpのあるディレクトリとpluginのディレクトリ内のphpファイルのバージョンを表示します。 vote 種別 コマンド ブロック型プラグイン 重要度 ★★☆☆☆ 書式 #vote( 選択肢1 [ 選択肢1の投票数 ] [, 選択肢2 [ 選択肢2の投票数 ] [, 選択肢3 [ 選択肢3の投票数 ]… [, 選択肢n [ 選択肢nの投票数 ]]] ) 概要 選択肢と投票数と投票ボタンが並んだ簡易投票フォームを表示します。 引数 選択肢1〜nに投票項目を指定します。投票項目に続けて半角大括弧"[]"で括った数値を指定すると選択肢の投票数を指定できます。 備考 各選択肢の投票数は編集によって容易に改竄できるため、厳密な投票には向きません。 Y yetlist 種別 コマンド 重要度 ★★☆☆☆ 書式 ?plugin=yetlist 概要 まだ作られていないページを一覧表示します。 まだ作られていないページとは、既存のページでWikiNameあるいはBracketNameで指定されていて、まだ作られていないページです。 備考 自分以外の誰かがページを書くかもしれないという点は非常にWiki的ですが、実際の運用面ではcommentに記述された一見さんの名前やWikiName同様のパラメータ名など、ページ化しにくいキーワードが大量に引っかかってしまいます。 前ページPukiWiki/1.4/Manual/Plugin